<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
	<title>配置系统设置 | ElasticSearch 7.7 权威指南中文版</title>
	<meta name="keywords" content="ElasticSearch 权威指南中文版, elasticsearch 7, es7, 实时数据分析，实时数据检索" />
    <meta name="description" content="ElasticSearch 权威指南中文版, elasticsearch 7, es7, 实时数据分析，实时数据检索" />
    <!-- Give IE8 a fighting chance -->
    <!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
	<link rel="stylesheet" type="text/css" href="../static/styles.css" />
	<script>
	var _link = 'setting-system-settings.html';
    </script>
</head>
<body>
<div class="main-container">
    <section id="content">
        <div class="content-wrapper">
            <section id="guide" lang="zh_cn">
                <div class="container">
                    <div class="row">
                        <div class="col-xs-12 col-sm-8 col-md-8 guide-section">
                            <div style="color:gray; word-break: break-all; font-size:12px;">原英文版地址: <a href="https://www.elastic.co/guide/en/elasticsearch/reference/7.7/setting-system-settings.html" rel="nofollow" target="_blank">https://www.elastic.co/guide/en/elasticsearch/reference/7.7/setting-system-settings.html</a>, 原文档版权归 www.elastic.co 所有<br/>本地英文版地址: <a href="../en/setting-system-settings.html" rel="nofollow" target="_blank">../en/setting-system-settings.html</a></div>
                        <!-- start body -->
                  <div class="page_header">
<strong>重要</strong>: 此版本不会发布额外的bug修复或文档更新。最新信息请参考 <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html" rel="nofollow">当前版本文档</a>。
</div>
<div id="content">
<div class="breadcrumbs">
<span class="breadcrumb-link"><a href="index.html">Elasticsearch 权威指南 [7.7]</a></span>
»
<span class="breadcrumb-link"><a href="setup.html">安装和设置</a></span>
»
<span class="breadcrumb-link"><a href="system-config.html">重要的系统配置</a></span>
»
<span class="breadcrumb-node">配置系统设置</span>
</div>
<div class="navheader">
<span class="prev">
<a href="system-config.html">« 重要的系统配置</a>
</span>
<span class="next">
<a href="setup-configuration-memory.html">禁用交换(swapping) »</a>
</span>
</div>
<div class="section">
<div class="titlepage"><div><div>
<h2 class="title">
<a id="setting-system-settings"></a>配置系统设置
</h2>
</div></div></div>
<p>
在哪里配置系统设置取决于你用来安装 Elasticsearch 的软件包以及你使用的操作系统。
</p>
<p>
使用 <code class="literal">.zip</code> 或 <code class="literal">.tar.gz</code> 包时，可以配置系统设置为：
</p>
<div class="ulist itemizedlist">
<ul class="itemizedlist">
<li class="listitem">
临时配置用 <a class="xref" href="setting-system-settings.html#ulimit" title="ulimit"><code class="literal">ulimit</code></a>，或者
</li>
<li class="listitem">
在 <a class="xref" href="setting-system-settings.html#limits.conf" title="/etc/security/limits.conf"><code class="literal">/etc/security/limits.conf</code></a> 中永久配置。
</li>
</ul>
</div>
<p>
当使用RPM 或 Debian包时，大部分设置在 <a class="xref" href="setting-system-settings.html#sysconfig" title="Sysconfig file">系统配置文件</a> 中。
但是，使用 systemd 的系统要求在<a class="xref" href="setting-system-settings.html#systemd" title="Systemd configuration">systemd配置文件</a> 中指定系统限制。
</p>
<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="ulimit"></a><code class="literal">ulimit</code>
</h3>
</div></div></div>
<p>
在Linux系统上， <code class="literal">ulimit</code> 可用于临时更改资源限制。
在切换到运行 Elasticsearch 的用户之前，通常需要将限制以 <code class="literal">root</code> 身份运行。
例如，要将打开文件句柄的数量(<code class="literal">ulimit -n</code>)设置为 65,536，可以执行以下操作:
</p>
<div class="pre_wrapper lang-sh">
<pre class="programlisting prettyprint lang-sh">sudo su  <a id="CO28-1"></a><i class="conum" data-value="1"></i>
ulimit -n 65535 <a id="CO28-2"></a><i class="conum" data-value="2"></i>
su elasticsearch <a id="CO28-3"></a><i class="conum" data-value="3"></i></pre>
</div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO28-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>切换到 <code class="literal">root</code> 权限。</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO28-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>更改打开文件的最大数量。</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO28-3"><i class="conum" data-value="3"></i></a></p>
</td>
<td align="left" valign="top">
<p>切换到 <code class="literal">elasticsearch</code> 用户以启动 Elasticsearch。</p>
</td>
</tr>
</table>
</div>
<p>新限制仅在当前会话期间生效。</p>
<p>可以通过 <code class="literal">ulimit -a</code>查阅所有当前应用的限制。</p>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="limits.conf"></a><code class="literal">/etc/security/limits.conf</code>
</h3>
</div></div></div>
<p>
在 Linux 系统上，可以通过编辑 <code class="literal">/etc/security/limits.conf</code> 文件为特定用户设置永久限制。
要将用户 <code class="literal">elasticsearch</code> 打开文件的最大数量设置为 65,535，请在 <code class="literal">limits.conf</code> 文件中添加以下行：
</p>
<div class="pre_wrapper lang-sh">
<pre class="programlisting prettyprint lang-sh">elasticsearch  -  nofile  65535</pre>
</div>
<p>
此更改仅在下次以用户 <code class="literal">elasticsearch</code> 身份打开新会话时生效。
</p>
<div class="note admon">
<div class="icon"></div>
<div class="admon_content">
<h3>Ubuntu 和 <code class="literal">limits.conf</code>
</h3>
<p>
Ubuntu忽略由 <code class="literal">init.d</code> 启动的进程的 <code class="literal">limits.conf</code>文件。
要启用 <code class="literal">limits.conf</code> 文件，编辑 <code class="literal">/etc/pam.d/su</code> 并注释掉下面的行：
</p>
<div class="pre_wrapper lang-sh">
<pre class="programlisting prettyprint lang-sh"># session    required   pam_limits.so</pre>
</div>
</div>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="sysconfig"></a>Sysconfig 文件
</h3>
</div></div></div>
<p>
当使用 RPM 或 Debian 包时，可以在系统配置文件中指定系统设置和环境变量，该文件位于：
</p>
<div class="informaltable">
<table border="0" cellpadding="4px">
<colgroup>
<col>
<col>
</colgroup>
<tbody valign="top">
<tr>
<td valign="top">
<p>
RPM
</p>
</td>
<td valign="top">
<p>
<code class="literal">/etc/sysconfig/elasticsearch</code>
</p>
</td>
</tr>
<tr>
<td valign="top">
<p>
Debian
</p>
</td>
<td valign="top">
<p>
<code class="literal">/etc/default/elasticsearch</code>
</p>
</td>
</tr>
</tbody>
</table>
</div>
<p>
但是，对于使用 <code class="literal">systemd</code> 的系统，系统限制需要使用 <a class="xref" href="setting-system-settings.html#systemd" title="Systemd configuration">systemd</a> 去指定。
</p>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="systemd"></a>Systemd 配置
</h3>
</div></div></div>
<p>
当在使用 <a href="https://en.wikipedia.org/wiki/Systemd" class="ulink" target="_top">systemd</a> 的系统上使用 RPM 或 Debian 包时，必须通过 <code class="literal">systemd</code> 指定系统限制。
</p>
<p>
systemd 服务文件(<code class="literal">/usr/lib/systemd/system/elasticsearch.service</code>) 包含默认情况下应用的限制。
</p>
<p>
要覆盖这些设置，添加一个叫 <code class="literal">/etc/systemd/system/elasticsearch.service.d/override.conf</code> 的文件 (或者，你可以运行 <code class="literal">sudo systemctl edit elasticsearch</code> ，它会在你的默认编辑器中自动打开文件)。
在此文件中设置任何更改，例如：
</p>
<div class="pre_wrapper lang-sh">
<pre class="programlisting prettyprint lang-sh">[Service]
LimitMEMLOCK=infinity</pre>
</div>
<p>完成后，运行以下命令来重新加载:</p>
<div class="pre_wrapper lang-sh">
<pre class="programlisting prettyprint lang-sh">sudo systemctl daemon-reload</pre>
</div>
</div>

</div>
<div class="navfooter">
<span class="prev">
<a href="system-config.html">« 重要的系统配置</a>
</span>
<span class="next">
<a href="setup-configuration-memory.html">禁用交换(swapping) »</a>
</span>
</div>
</div>

                  <!-- end body -->
                        </div>
                        <div class="col-xs-12 col-sm-4 col-md-4" id="right_col">
                        
                        </div>
                    </div>
                </div>
            </section>
        </div>
    </section>
</div>
<script src="../static/cn.js"></script>
</body>
</html>